import request from "../../util/request"
import CheckAuth from "../../util/auth"

// pages/detail/detail.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        info:null,
        current:0,
        commentList:[]
    },

    handleAdd(){
       /*
        1.判断本地存储是否有手机号信息，如果有直接加入
        2.没有手机号，判断是否有token信息，如果有，引导手机号绑定
        3.没有token授权信息，引导用户授权页面
       */

       CheckAuth(()=>{
           console.log('准备加入购物车')
           let {nickName} = wx.getStorageSync('token')
           let tel = wx.getStorageSync('tel')
           var goodId = this.data.info.id

           request({
             url:"/carts",
             data:{
               tel,
               goodId,
               nickName
             }
           }).then(res=>{
            //  因为是get方法(默认),所以它会返回匹配的数据回来
             console.log(res)  //如果有数据，则是出现一个数组包含着一个对象，没有数据，则为空数组,代表是新加入的商品
             if (res.length===0) {
               return request({
                 url:"/carts",
                 method:"post",
                 data:{
                   "username":nickName,
                   "tel":tel,
                   "goodId":goodId,
                   "number":1,  //点击后，新的商品数量为1
                   "checked":false  //默认不勾选
                 }
               })
             }else{
              return request({
                url:`/carts/${res[0].id}`,  //把数据修改到{res[0].id} (即该用户已经加购的那个商品)
                method:"put",  //put为更新操作
                data:{
                  ...res[0], //取出第0项，即把刚添加的数据取出来(数组中只有一个对象)
                  number:res[0].number+1 //覆盖掉里面的number
                }
              })
             }
           }).then(res=>{
             wx.showToast({  //显示消息提示框
               title: '加入购物车成功',
             })
           })
       })
    },

    handlecart(){
        wx.switchTab({
          url: '/pages/shopcar/shopcar',
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log('基于上个列表页面传来的id，跟后端当前页面id对应的详细信息',options)
        wx.setNavigationBarTitle({ //设置导航栏的标题
          title: options.name,
        })
        this.getDetailInfo(options.id)
        this.getCommentInfo()
    },

    getDetailInfo(id){
        request({
            url:`/goods/${id}`
        }).then(res=>{
            console.log(res)
            this.setData({
                info:res
            })
        })
    },

    handleTap(e){
        wx.previewImage({  //在新页面中全屏预览图片。预览的过程中用户可以进行保存图片、发送给朋友等操作
            current: e.currentTarget.dataset.current, // 当前显示图片的 http 链接
            urls: this.data.info.slides.map(item=>`http://localhost:5000${item}`) // 需要预览的图片 http 链接列表
          })
          // map方法 (此处映射的目的是将相对路径转化为绝对路径)
        // 作用：映射数组   返回值：映射后的新数组
    },

    handleActive(e){
        this.setData({
            current:e.currentTarget.dataset.index
        })
    },

    getCommentInfo(){
        request({
            url:'/comments'
        }).then(res=>{
            console.log(res)
            this.setData({
                commentList:res
            })
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})